home *** CD-ROM | disk | FTP | other *** search
/ MacHome 2000 March / MacHome CD (March 2000).iso / pc / Games / ACE! 1.7.2.sit / ACE! 1.7.2 / Development / Documentation / Appendices next >
Text File  |  1999-08-11  |  6KB  |  172 lines

  1. Appendix A: Variable Types
  2.  
  3. The most fundamental unit of storage on a computer is a 'bit'. A bit's value can be either 0 or 1. By combining bits, larger units of storage can be made. Eight bits together is a 'byte', and this can describe a value between 0 and 255. Sixteen bits makes a 'short', whose value can be between 0 and 65535. Thirty-two bits makes a 'long', whose value can be between 0 and 4294967295.
  4.  
  5. If we want to represent a signed number (one that can be positive or negative), the range of these values is (roughly) halved. A signed short has a value between -32768 and +32767. A signed long can be between -1247483648 and +1247483647.
  6.  
  7. A sequence of letters is called a string, and each letter is called a character. A character is simply a byte that is interpreted as a letter. The computer can use two different methods to determine where a string ends:
  8.  
  9. 1. It can record the length of the string (i.e. the number of characters in the string). A 'Pascal string' puts the length in a byte before the first character of the string.
  10.  
  11. 2. It can put a special character at the end of the string. A 'C string' places a 0 byte after the last character in the string.
  12.  
  13. Typically, most string will be Pascal strings (because this is the type of string used by the Mac OS Toolbox functions, and is therefore convenient to programmers). However, a pascal string cannot be longer than 255 characters, so programs may use C strings when a string needs to be longer. Programs ported from PC's will usually use C strings.
  14.  
  15.  
  16. Appendix B: Using the ACE Resource templates
  17.  
  18. The documents "ResEdit ACE! templates" and "Resourcer ACE! templates" contains five 'TMPL' resources which assist the editing of the 'ACEc', 'ACEi', 'ACEl', 'ACEm' and 'ACEv' resources. For ResEdit, the templates can be used in one of two ways:
  19.  
  20. 1. Placing the templates in the module file.
  21.  
  22. Open the "ResEdit ACE! templates" document. Select the 'TMPL' resource and choose Copy from the Edit menu. Open the module that you are about to edit, and choose Paste from the File menu. Any 'ACEc', 'ACEi', 'ACEl', 'ACEm' and 'ACEv' resources in this module  can now be edited using the templates.
  23.  
  24. When your module is complete, you should delete the 'TMPL' resources.
  25.  
  26. 2. Placing the templates in ResEdit's preferences file (preferred method).
  27.  
  28. Open your Preferences folder and make a copy of the ResEdit preference file (by duplicating it, or option-dragging to a new window). Open this copy of the preference file with ResEdit. Now open the "ResEdit ACE! templates" document, copy the 'TMPL' resources, and paste them into the copy of the preference file. Quit ResEdit (saving the changes to the copy of the preferences file). Throw the original ResEdit preferences in the trash, and put the copy of the preferences in the Preferences folder. If necessary, rename it to "ResEdit Preferences". Any 'ACEc', 'ACEi', 'ACEl', 'ACEm' and 'ACEv' resources in any resource file (module)  can now be edited using the templates.
  29.  
  30. To use the Resourcer templates, simply place the document "Resourcer ACE! templates" in the "Private Templates" folder (which is located in the same folder as the Resourcer application).
  31.  
  32.  
  33. Appendix C: Intel and Macintosh Data Format
  34.  
  35. The 68000 series CPU's used in the Macintosh are "Little Endian", meaning that they represent numbers in memory with the high-order bytes lowest in memory. The 16-bit number 43981 (hexadecimal ABCD) is stored as:
  36.  
  37. AB CD
  38.  
  39. In contrast, the x86 (Intel) architecture is "Big Endian", meaning that numbers in memory are stored with the lowest-order bytes at the lowest address. So the previous example would be:
  40.  
  41. CD AB
  42.  
  43. on a Intel machine. Similarly, the 32-bit number 33424092 (hexadecimal 1FE02DC) on a Macintosh would be
  44.  
  45. 01 FE 02 DC
  46.  
  47. and on a PC would be
  48.  
  49. DC 02 FE 01
  50.  
  51. (the PowerPC chip is actually multi-endian, but works in "Little Endian" mode on the Power Macintosh series of computers).
  52.  
  53. When data is written to a file, it often has the same format used by the CPU. A game that has been ported from the PC, or is cross-platform, may use the "Big Endian" data format. ACE can read and write data in both formats.
  54.  
  55.  
  56. Appendix D: Offset Examples
  57.  
  58. The following are graphical examples of the use of various offsets:
  59.  
  60. Example: A single character saved in the data fork, with an offset from the start.
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73. Example: A fixed number of characters in the data fork, with both types of offset.
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86. Example: An initially unknown number of characters in a single resource, with no offsets and a pc 'slot' being skipped
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100. Appendix E: ASCII Table
  101.  
  102. The following ASCII tables will be useful when setting the minimum and maximum fields for a "character" type control, or for the slot equations (STR#138).
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. Appendix F: Backwards compatibility information
  137.  
  138. The following table summarises the compatibility information for various versions of ACE! and the modules. Maintenance releases (with a third digit) are not listed in the table, as they are bug-fixes only, and are completely compatible with their previous release.
  139.  
  140. ACE! version       Compatible with modules created for version...
  141.  
  142. 1.0            1.1 and 1.2
  143. 1.1            1.0, 1.1 and 1.2
  144. 1.2            1.0 and 1.1
  145. 1.3            1.3
  146. 1.4            1.4 and 1.3
  147. 1.5            1.5
  148. 1.6            1.5 and 1.6
  149. 1.7            1.5, 1.6 and 1.7
  150.  
  151. (assuming the module does not use features specific to the most recent version).
  152.  
  153.  
  154. Appendix G: 'CNTL' resource field values
  155.  
  156. This table summaries the values of the 'CNTL' resource fields for the control types used in ACE modules.
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.